home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 February: Technology Seed / Mac Tech Seed Feb '97.toast / ODF Release 3 / Developer University / DU Projects / ExtSample / Sources / MyExt.xih < prev    next >
Encoding:
Text File  |  1996-12-11  |  7.1 KB  |  276 lines  |  [TEXT/CWIE]

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: MyExt.xih.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.18
  7.  *     SOM Emitter emitxih.dll: 2.33
  8.  */
  9.  
  10. #ifndef SOM_DevUniv_MyExtension_xih
  11. #define SOM_DevUniv_MyExtension_xih
  12.  
  13. #include <somcls.xh>
  14. #include <somcm.xh>
  15.  
  16. #ifndef SOM_DevUniv_MyExtension_xh
  17. #include <MyExt.xh>
  18. #endif
  19.  
  20. /*
  21.  * Set the scope of methods functions
  22.  */
  23. #ifndef SOM_Scope
  24. #define SOM_Scope extern "C"
  25. #endif
  26.  
  27. #define DevUniv_MyExtension_MaxNoMethods 2
  28.  
  29. /*
  30.  * -- Instance Data
  31.  */
  32. typedef void DevUniv_MyExtensionData;
  33.  
  34. /*
  35.  * Trace/Debug macro
  36.  */
  37. #ifndef DevUniv_MyExtensionMethodDebug
  38. #define DevUniv_MyExtensionMethodDebug(c,m) SOMMethodDebug(c,m)
  39. #endif
  40.  
  41. /*
  42.  * -- Method Macros for use in Method Procedures
  43.  */
  44. #ifdef METHOD_MACROS
  45.   #define _InitExtension somSelf->InitExtension
  46.   #define _GetBase somSelf->GetBase
  47.   #define _BaseRemoved somSelf->BaseRemoved
  48.   #define _IsValid somSelf->IsValid
  49.   #define _CheckValid somSelf->CheckValid
  50.   #define _Release somSelf->Release
  51.   #define _InitRefCntObject somSelf->InitRefCntObject
  52.   #define _Acquire somSelf->Acquire
  53.   #define _Release somSelf->Release
  54.   #define _GetRefCount somSelf->GetRefCount
  55.   #define _somUninit somSelf->somUninit
  56.   #define _InitObject somSelf->InitObject
  57.   #define _HasExtension somSelf->HasExtension
  58.   #define _AcquireExtension somSelf->AcquireExtension
  59.   #define _ReleaseExtension somSelf->ReleaseExtension
  60.   #define _Purge somSelf->Purge
  61.   #define _IsEqualTo somSelf->IsEqualTo
  62.   #define _SubClassResponsibility somSelf->SubClassResponsibility
  63.   #define _somInit somSelf->somInit
  64.   #define _somUninit somSelf->somUninit
  65.   #define _somInit somSelf->somInit
  66.   #define _somUninit somSelf->somUninit
  67.   #define _somDuplicateReference somSelf->somDuplicateReference
  68.   #define _somCompareReference somSelf->somCompareReference
  69.   #define _somRelease somSelf->somRelease
  70.   #define _somFree somSelf->somFree
  71.   #define _somCanDelete somSelf->somCanDelete
  72.   #define _somGetClass somSelf->somGetClass
  73.   #define _somGetClassName somSelf->somGetClassName
  74.   #define _somGetSize somSelf->somGetSize
  75.   #define _somIsA somSelf->somIsA
  76.   #define _somRespondsTo somSelf->somRespondsTo
  77.   #define _somIsInstanceOf somSelf->somIsInstanceOf
  78.   #define _somDispatch somSelf->somDispatch
  79.   #define _somClassDispatch somSelf->somClassDispatch
  80.   #define _somCastObj somSelf->somCastObj
  81.   #define _somResetObj somSelf->somResetObj
  82.   #define _somPrintSelf somSelf->somPrintSelf
  83.   #define _somDumpSelf somSelf->somDumpSelf
  84.   #define _somDumpSelfInt somSelf->somDumpSelfInt
  85.   #define _InitMyExtension somSelf->InitMyExtension
  86.   #define _Hello somSelf->Hello
  87.   #define _Release somSelf->Release
  88. #endif
  89.  
  90.  
  91. /*
  92.  * Introduced methods
  93.  */
  94.  
  95. /* New Method: InitMyExtension */
  96. SOM_Scope void  SOMLINK DevUniv_MyExtensionInitMyExtension(DevUniv_MyExtension *somSelf, Environment *ev,
  97.         ODObject* base);
  98.  
  99. /* New Method: Hello */
  100. SOM_Scope void  SOMLINK DevUniv_MyExtensionHello(DevUniv_MyExtension *somSelf, Environment *ev);
  101.  
  102. /*
  103.  * Overridden methods
  104.  */
  105.  
  106. /* Overridden method: Release */
  107. SOM_Scope void  SOMLINK DevUniv_MyExtensionRelease(DevUniv_MyExtension *somSelf, Environment *ev);
  108. SOMEXTERN typedef void   (* SOMLINK somTD_xih_DevUniv_MyExtension_Release)(DevUniv_MyExtension *somSelf, Environment *ev);
  109. inline void  SOMLINK DevUniv_MyExtension_parent_ODExtension_Release(DevUniv_MyExtension *somSelf, Environment *ev)
  110. {
  111.   ((somTD_xih_DevUniv_MyExtension_Release)
  112.     somParentNumResolve((somClassDataStructure*)&DevUniv_MyExtensionClassData, 1, ODRefCntObjectClassData.Release))
  113.         (somSelf,ev);
  114. #ifdef SOMCHKEXCEPT
  115.   SOMCHKEXCEPT;
  116. #endif
  117. }
  118. #define DevUniv_MyExtension_parents_Release(arg0,arg1) \
  119.   (void) DevUniv_MyExtension_parent_ODExtension_Release(arg0,arg1)
  120.  
  121. /*
  122.  * -- Primary Implementation File Support
  123.  */
  124. #if (defined(DevUniv_MyExtension_Class_Source) || defined(SOM_Module_myext_Source))
  125.  
  126. /*
  127.  * -- The DevUniv_MyExtension ClassData Structure
  128.  */
  129.  
  130. #if PRAGMA_IMPORT_SUPPORTED
  131. #pragma export list DevUniv_MyExtensionClassData
  132. #endif
  133.  
  134.  
  135. /*
  136.  * -- The DevUniv_MyExtension Class Ancestor Table
  137.  */
  138. static somClassDataStructure * SOMDLINK DevUniv_MyExtensionClassAncestors [] = {
  139.     (somClassDataStructure*) & ODExtensionClassData,    /* parent */
  140.     (somClassDataStructure*) & ODRefCntObjectClassData,    /* ancestor */
  141. };
  142.  
  143.  
  144. /*
  145.  * -- The DevUniv_MyExtension Override ProcPtr Implementations Table
  146.  */
  147. static somMethodPtr DevUniv_MyExtensionOverrideProcs [] = {
  148.     (somMethodPtr) DevUniv_MyExtensionRelease,    /* override class ODRefCntObject */
  149. };
  150.  
  151.  
  152. static void DevUniv_MyExtensionDLLD ( void ) { }
  153.  
  154.  
  155. /*
  156.  * -- The DevUniv_MyExtension Static Class Info Master Table
  157.  */
  158. static somStaticClassInfo DevUniv_MyExtensionSCI = {
  159.       70,    /* layout version */
  160.     (somClassDataStructure*)  & DevUniv_MyExtensionClassData,    /* main token table */
  161.       DevUniv_MyExtensionOverrideProcs,    /* override proc implemenations table */
  162.       DevUniv_MyExtensionClassAncestors,    /* ancestor table */
  163.       DevUniv_MyExtensionDLLD,    /* DLLdesignator */
  164.       0,    /* no special procs */
  165.       0,    /* rtci slot */
  166.       0,    /* count slot */
  167.       0,    /* dynamic ancestry */
  168.       0,    /* free */
  169.       0,    /* free */
  170.       0,    /* free */
  171.       0,    /* free */
  172.  
  173. /*
  174.  * -- The DevUniv_MyExtension Counts Table
  175.  */
  176.     (somStaticClassCounts *)
  177.         "\x00\x00\x00\x00"    /* majorversion */
  178.         "\x00\x00\x00\x00"    /* minorversion */
  179.         "\x00\x00\x00\x01"    /* flags */
  180.             "\x00\x00"    /* type code alignment */
  181.             "\x00\x02"    /* classTokenCount */
  182.             "\x00\x01"    /* numDirectParents */
  183.             "\x00\x00"    /* numMetaClasses */
  184.             "\x00\x01"    /* numOverriddenAncestors */
  185.             "\x00\x00"    /* numMigratedMethods */
  186.             "\x00\x00"    /* numSelectedInherited */
  187.             "\x00\x00"    /* numUnused */
  188.             "\x00\x00"    /* free */
  189.             "\x00\x00"    /* free */
  190.             "\x00\x00"    /* free */
  191.             "\x00"    /* free */
  192.                 ,
  193.  
  194.     {
  195.       "DevUniv::MyExtension",    /* the class name */
  196.       0, /* no class instance data */
  197.  
  198. /*
  199.  * -- The DevUniv_MyExtension Parent Versions Table
  200.  */
  201.     (somParentVersions *)
  202.         "\x00\x00\x00\x01"    /* majorversion */
  203.         "\x00\x00\x00\x00"    /* minorversion */
  204.                 ,
  205.  
  206.  
  207. /*
  208.  * -- The DevUniv_MyExtension Token Slot Usage Table
  209.  */
  210.     (somSlotUsage *)
  211.         "",
  212.  
  213.  
  214. /*
  215.  * -- The DevUniv_MyExtension Method Signature Info
  216.  */
  217.     (somSignatureInfo *)
  218.         "\x03\x07"    /* InitMyExtension */
  219.          "\x02\x07"    /* Hello */
  220.              ,
  221.  
  222.  
  223. /*
  224.  * -- The DevUniv_MyExtension Class Method Names
  225.  */
  226.         "InitMyExtension\0"
  227.         "Hello\0"
  228.             ,
  229.  
  230.  
  231. /*
  232.  * -- The DevUniv_MyExtension Override Slots Table
  233.  */
  234.     (somOverrideData *)
  235.         "\x00\x01\x00\x01"    /* parent ODRefCntObject has 1 overrides */
  236.             "\x00\x02"    /* Release */
  237.                 ,
  238.  
  239.       0,    /* no migrated methods table */
  240.       0,    /* no selected inherited */
  241.       0,    /* unused */
  242.  
  243.       0,    /* free */
  244.       0,    /* free */
  245.       0,    /* free */
  246.       0,    /* free */
  247.     },
  248. };
  249.  
  250. /*
  251.  * -- The DevUniv_MyExtension ClassData Structure
  252.  */
  253. struct DevUniv_MyExtensionClassDataStructure SOMDLINK DevUniv_MyExtensionClassData = {
  254.       0,            /* zero */
  255.     & DevUniv_MyExtensionSCI,        /* SCI link */
  256.       0,            /* instanceDataToken */
  257.       0,            /* reserved */
  258.       0,            /* reserved */
  259.       0,            /* reserved */
  260.     (somMToken) DevUniv_MyExtensionInitMyExtension,    /* InitMyExtension:method */
  261.     (somMToken) DevUniv_MyExtensionHello,    /* Hello:method */
  262. };
  263.  
  264.  
  265. /*
  266.  * Functions for attributes.
  267.  */
  268.  
  269. /*
  270.  * Macros for initializers/destructors
  271.  */
  272.  
  273. #endif /* Primary Implementation Support */
  274.  
  275. #endif       /* SOM_DevUniv_MyExtension_xih */
  276.